#pragma once

#include <stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include <fcntl.h>
#include<string.h>
#include<unistd.h>
#include<assert.h>
#include<stdlib.h>
#define NUM 1024
#define BUFF_NONE 0x1
#define BUFF_LINE 0x2
#define BUFF_ALL 0x4
typedef struct _MY_FILE
{
    //文件描述符
    int fd;
    //缓冲区
    char outputbuffer[NUM];
    //表示占用的多少缓冲区
    int current;
    //刷新方式(位图)
    int flags;
}MY_FILE;
//打开文件的声明
MY_FILE* MY_fopen(const char *path,const char*mode);
//关闭文件的声明
int MY_fclose(MY_FILE* fp);
//写文件(第一个参数表示缓冲区中的内容一会 会被写入，第二个参数表示每个大小是多大，第三个参数表示一共有多少个)
size_t MY_fwrite(const void*ptr,size_t size,size_t nummb ,MY_FILE*stream);
//刷新缓冲区
int my_fflush(MY_FILE* fp);
